From: Roger Pau Monné Date: Tue, 5 Mar 2019 16:41:14 +0000 (+0100) Subject: x86/dom0: propagate PVH vlapic EOIs to hardware X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~2514 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=7b653a245ffc26aca691f34204d4fef7af49a0a0;p=xen.git x86/dom0: propagate PVH vlapic EOIs to hardware Current check for MSI EIO is missing a special case for PVH Dom0, which doesn't have a hvm_irq_dpci struct but requires EIOs to be forwarded to the physical lapic for passed-through devices. Add a short-circuit to allow EOIs from PVH Dom0 to be propagated. Signed-off-by: Roger Pau Monné Reviewed-by: Jan Beulich Release-acked-by: Juergen Gross --- diff --git a/xen/drivers/passthrough/io.c b/xen/drivers/passthrough/io.c index a6eb8a4336..4290c7c710 100644 --- a/xen/drivers/passthrough/io.c +++ b/xen/drivers/passthrough/io.c @@ -869,7 +869,8 @@ static int _hvm_dpci_msi_eoi(struct domain *d, void hvm_dpci_msi_eoi(struct domain *d, int vector) { - if ( !iommu_enabled || !hvm_domain_irq(d)->dpci ) + if ( !iommu_enabled || + (!hvm_domain_irq(d)->dpci && !is_hardware_domain(d)) ) return; spin_lock(&d->event_lock);